iT邦幫忙

2022 iThome 鐵人賽

DAY 10
0
DevOps

30天的社群機器人之旅系列 第 10

Day 10 PostbackEvent

  • 分享至 

  • xImage
  •  

今天要來接續昨天的內容,來講講如何處理 FlexMessage 上面按鈕觸發後的動作。

在 Line 中,這種觸發一律會觸發 PostbackAction ,接著會回傳 PostbackEvent 到我們的後端,所以我們需要在一個處理 PostbackEvent 的處裡函式。

不過在處理之前,我們要先將 FlexMessage 調整一下,將 Button 的 Action type 調整成為 Postback ,並設定好相關資訊。 label 是設定顯示的文字;data 則是設定 Postback 要回傳的訊息;displayText 則是觸發後會顯示的訊息。

FlexMessage 調整完之後,就可以開始設定我們的後端處裡函式了,處理方式大致與前面相同。

詳細資訊同樣可參考 官方文件

我們新增一個處裡函式如下。

@handler.add(PostbackEvent)
def handle_postback(event):
    line_bot_api.reply_message(
        event.reply_token,
        TextSendMessage(text=event.postback.data)
    )

沒意外的話點下去會先出現 PostbackAction ,接著再回復 PostbackEvent 總共兩則訊息。

那麼就先到這邊,FlexMessage 暫時介紹到這邊,明天會介紹不一樣的東西。

大家掰~掰~


上一篇
Day 09 FlexMessage
下一篇
Day 11 Quick reply
系列文
30天的社群機器人之旅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言